捕捉HTTP基本認證資料封包
除了瀏覽器之外,很多應用程式也可以使用HTTP與Web伺服器進行互動,這時就可以用HTTP基本認證的方式,這歌方式是透過Base64演算法來加密。Base64是一種任意二進位到文字字串的編碼方式,常用在URL、Cookie、網頁中傳輸少量二進位資料。
現在要將HTTP基本封包過濾出來,分別會用到re模組和base64模組。
re模組
利用re模組能夠快速在捕捉資料封包的內容中尋找指定的位元組,re中主要有兩個函數,分別是re.match與re.search,re.match只比對字串的開始,如果字串開始不符合正規表示法,則比對失敗,函數傳回None;而re.search比對整個字串,直到找到一個比對,以下選擇re.search列出一個實例:
執行結果如下:
base64模組
base64中有兩個函數:base64encode用來實現編碼,而base64decode用來實現解碼。
執行結果如下:
接下來完成一個完整的捕捉程式,用來捕捉網路中的資料封包,並設定了篩檢程式的通訊埠為80的資料封包:
如果要捕捉其他電腦上的登入資料封包,需要和ARP欺騙程式結合使用,否則只能捕捉本機上的登入資料封包。
撰寫Web伺服器掃描程式
前面的方法不一定能可靠的檢測出目標主機是否真的提供Web服務,因為目標主機可能完全開放80通訊埠,但並未提供Web服務。但如果對目標伺服器發送一個HTTP請求,並獲得回應,就可以確定這台伺服器提供了Web服務。首先可以用Get方法來完成這個功能,
執行結果如下:
暴力掃描出目標伺服器上所有頁面
一個網站常常擁有很多個頁面,有些頁面不應該展示給使用者,這些頁面可能包含著網站的敏感資訊等,程式設計師常常會每有銀藏這些頁面,但在大多數時候其實不會帶來什麼麻煩,因為很少有使用者能找到這些頁面。不過駭客常常會利用一些工具找到這些頁面,進一步獲得有用的資訊。
下面撰寫一個用來測試http://192.168.169.133上是否存在一個名為"link.htm"頁面的程式:
明天將會產生出一個網路安全滲透測試的報告,也會是最後一個主題。